import UIKit

//
@available(iOS 13.0, *)
extension QKC where AA :UIBarButtonItemStateAppearance {
	/// Text attributes to be used for rendering title text. If the font or color are unspecified, appropriate defaults are supplied.
    open func titleTextAttributes_qk_s(_ titleTextAttributes:  [NSAttributedString.Key : Any]) -> QKC<AA,YY,ZZ, [NSAttributedString.Key : Any]>{
		return link(next: titleTextAttributes).then_QK { $0.value.titleTextAttributes = titleTextAttributes }
	}
    open func titleTextAttributes_qk_g() -> QKC<AA,YY,ZZ, [NSAttributedString.Key : Any]>{
		 self +^ self.value.titleTextAttributes
	}

	/// An offset to apply to the button's title position
    open func titlePositionAdjustment_qk_s(_ titlePositionAdjustment:  UIOffset) -> QKC<AA,YY,ZZ, UIOffset>{
		return link(next: titlePositionAdjustment).then_QK { $0.value.titlePositionAdjustment = titlePositionAdjustment }
	}
    open func titlePositionAdjustment_qk_g() -> QKC<AA,YY,ZZ, UIOffset>{
		 self +^ self.value.titlePositionAdjustment
	}

	/// A background image to display around the button
    open func backgroundImage_qk_s(_ backgroundImage:  UIImage?) -> QKC<AA,YY,ZZ, UIImage?>{
		return link(next: backgroundImage).then_QK { $0.value.backgroundImage = backgroundImage }
	}
    open func backgroundImage_qk_g() -> QKC<AA,YY,ZZ, UIImage?>{
		 self +^ self.value.backgroundImage
	}

	/// An offset to apply to the backgroundImage.
    open func backgroundImagePositionAdjustment_qk_s(_ backgroundImagePositionAdjustment:  UIOffset) -> QKC<AA,YY,ZZ, UIOffset>{
		return link(next: backgroundImagePositionAdjustment).then_QK { $0.value.backgroundImagePositionAdjustment = backgroundImagePositionAdjustment }
	}
    open func backgroundImagePositionAdjustment_qk_g() -> QKC<AA,YY,ZZ, UIOffset>{
		 self +^ self.value.backgroundImagePositionAdjustment
	}

}

@available(iOS 13.0, *)
extension QKC where AA :UIBarButtonItemAppearance {
	/// The appearance when the bar button item is in the normal control state.
    open func normal_qk_g() -> QKC<AA,YY,ZZ, UIBarButtonItemStateAppearance >{
		 self +^ self.value.normal
	}

	/// The appearance when the bar button item is in the highlighted control state. If unspecified, then synthesized from the normal state.
    open func highlighted_qk_g() -> QKC<AA,YY,ZZ, UIBarButtonItemStateAppearance >{
		 self +^ self.value.highlighted
	}

	/// The appearance when the bar button item is in the disabled control state. If unspecified, then synthesized from the normal state.
    open func disabled_qk_g() -> QKC<AA,YY,ZZ, UIBarButtonItemStateAppearance >{
		 self +^ self.value.disabled
	}

	/// The appearance when the bar button item is in the focused control state. If unspecified, then synthesized from the highlighted state.
    open func focused_qk_g() -> QKC<AA,YY,ZZ, UIBarButtonItemStateAppearance >{
		 self +^ self.value.focused
	}

	/// Reset this appearance to that of a given style.
    open func configureWithDefault_qk_f(for style: UIBarButtonItem.Style) -> QKC<AA,YY,ZZ, UIBarButtonItem.Style>{
		 self +^ self.value.configureWithDefault(for:style) +^ style
	}

}

